Benjamin Otte [Wed, 15 Aug 2018 04:19:52 +0000 (06:19 +0200)]
window: Get rid of public APIs that shouldn't be
Event controllers should have replaced all of them.
And if they haven't, apps need to fix their code (I'm
looking at you Gimp).
Benjamin Otte [Wed, 15 Aug 2018 03:50:28 +0000 (05:50 +0200)]
gdk: Remove GDK_RELEASE_MASK
It was only ever supported by keybindings and those are gone now.
Benjamin Otte [Sat, 11 Aug 2018 23:40:03 +0000 (01:40 +0200)]
gtk-demo: Add a dumb demo for shortcut triggers
Benjamin Otte [Mon, 13 Aug 2018 14:02:27 +0000 (16:02 +0200)]
shortcutcontroller: Add GtkShortcutScope
Allow setting the scope for a controller. The scope determines at what
point in event propagation the shortcuts will be activated.
Local scope is the usual activation, global scope means that the root
widget activates the shortcuts - ie they are activated at the very
start of event propagation (for global capture events) or the very end
(for global bubble events).
Managed scope so far is unimplemented.
This is supposed to be used to replace accelerators and mnemonics.
Benjamin Otte [Mon, 13 Aug 2018 03:45:12 +0000 (05:45 +0200)]
shortcuttrigger: Add gtk_shortcut_trigger_to_label()
Provide a user-presentable string.
Benjamin Otte [Mon, 13 Aug 2018 03:19:05 +0000 (05:19 +0200)]
accelgroup: Add gtk_accel_group_print_label()
Benjamin Otte [Mon, 13 Aug 2018 02:59:49 +0000 (04:59 +0200)]
accellabel: Move gtk_accelerator_get_label() code
The function lives in gtkaccelgroup.c, so there's no need to have that
call a private function in another source file. Instead, make that
other source file call gtk_accelerator_get_label() instead.
Benjamin Otte [Mon, 13 Aug 2018 02:51:03 +0000 (04:51 +0200)]
accellabel: Get rid of class variables
We can just look them up as-needed, no need to cache them.
Benjamin Otte [Sun, 12 Aug 2018 20:07:27 +0000 (22:07 +0200)]
gtk: Remove bindings
The whole binding functionality is now handled by shortcuts.
Emmanuele Bassi [Thu, 6 Feb 2020 15:01:18 +0000 (15:01 +0000)]
Remove bindings activation from GtkEventControllerKey
We're going to use shortcuts soon.
Matthias Clasen [Tue, 17 Mar 2020 21:24:09 +0000 (17:24 -0400)]
popover: Add keynav keybindings
The shortcut controllers are limited to same-native,
so we need to duplicate the Tab and arrow key bindings
for focus handling, as well as the Enter bindings for
activation.
Emmanuele Bassi [Thu, 6 Feb 2020 15:00:31 +0000 (15:00 +0000)]
popovermenu: Port to shortcuts
Benjamin Otte [Sun, 12 Aug 2018 23:52:04 +0000 (01:52 +0200)]
accelgroup: Actually have a default mod mask
Don't just use a value without initializing it.
Benjamin Otte [Sun, 12 Aug 2018 19:32:42 +0000 (21:32 +0200)]
treeview: Redo event forwarding hack
Reorder the event controllers so that key forwarding to the search
entries really happens after shortcut triggering.
Benjamin Otte [Sun, 12 Aug 2018 19:15:37 +0000 (21:15 +0200)]
combobox: Redo key event forwarding hack
Instead of manualling invoking bindings, we now reorder event
controllers inside the treemenu, so that shortcuts run before the event
forwarding.
Emmanuele Bassi [Thu, 6 Feb 2020 14:21:10 +0000 (14:21 +0000)]
widget: Add private accessor to event controllers
Benjamin Otte [Sun, 12 Aug 2018 15:07:23 +0000 (17:07 +0200)]
iconview: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:57:37 +0000 (16:57 +0200)]
infobar: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:55:43 +0000 (16:55 +0200)]
label: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:47:58 +0000 (16:47 +0200)]
listbox: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 14:05:45 +0000 (16:05 +0200)]
notebook: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:53:45 +0000 (15:53 +0200)]
scale: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:50:45 +0000 (15:50 +0200)]
scalebutton: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:48:18 +0000 (15:48 +0200)]
scrolledwindow: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:44:45 +0000 (15:44 +0200)]
searchentry: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:42:01 +0000 (15:42 +0200)]
shortcutssection: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 13:41:53 +0000 (15:41 +0200)]
shortcutswindow: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:45:09 +0000 (03:45 +0200)]
flowbox: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:45:03 +0000 (03:45 +0200)]
paned: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:26:35 +0000 (03:26 +0200)]
spinbutton: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:24:26 +0000 (03:24 +0200)]
textview: Port bindings to use shortcuts
Benjamin Otte [Sun, 12 Aug 2018 01:15:00 +0000 (03:15 +0200)]
filechooserwidget: Port bindings to use shortcuts
Benjamin Otte [Sat, 11 Aug 2018 23:38:50 +0000 (01:38 +0200)]
shortcutcontroller: Add gtk_shortcut_controller_add_shortcut()
... and gtk_shortcut_controller_remove_shortcut().
Benjamin Otte [Sat, 11 Aug 2018 15:42:19 +0000 (17:42 +0200)]
shortcutcontroller: Add private API for running class shortcuts
We don't want regular users to be able to run class shortcuts in their
controllers, so we have to special case that.
Benjamin Otte [Sat, 11 Aug 2018 15:22:22 +0000 (17:22 +0200)]
treeview: Port bindings to use shortcuts
Benjamin Otte [Sat, 11 Aug 2018 15:22:10 +0000 (17:22 +0200)]
widget: Port bindings to use shortcuts
Benjamin Otte [Wed, 8 Aug 2018 20:16:24 +0000 (22:16 +0200)]
dialog: Port binding to use shortcuts
Emmanuele Bassi [Wed, 5 Feb 2020 17:13:44 +0000 (17:13 +0000)]
text: Port to widget shortcuts
Emmanuele Bassi [Wed, 5 Feb 2020 17:08:37 +0000 (17:08 +0000)]
Allow installing bindings bound to actions
This is just convenience code around GtkShortcut, just like bindings for
signal emission and callback invocation.
Emmanuele Bassi [Wed, 5 Feb 2020 17:08:14 +0000 (17:08 +0000)]
shortcut: Add action activation
Emmanuele Bassi [Wed, 5 Feb 2020 17:06:51 +0000 (17:06 +0000)]
bindings: Export action activation internally
We're going to use it, just like we use the signal emission code.
Benjamin Otte [Wed, 8 Aug 2018 17:10:27 +0000 (19:10 +0200)]
shortcut: Add gtk_shortcut_set_callback()
... and gtk_widget_class_add_binding() to go with it.
This allows shortcuts to invoke manually added callbacks.
Benjamin Otte [Sun, 5 Aug 2018 02:20:58 +0000 (04:20 +0200)]
assistant: Port bindings to use shortcuts
Benjamin Otte [Sun, 5 Aug 2018 02:30:15 +0000 (04:30 +0200)]
combobox: Port bindings to use shortcuts
Benjamin Otte [Sun, 5 Aug 2018 02:10:11 +0000 (04:10 +0200)]
trigger: Add an alternative trigger
And use it.
I just added it to GtkWidget just to show that I can.
The real reason I want it is for gamepad/joystick triggers
in games, so that it becomes possible to select 2 different
triggers (gamepad and keyboard) for the same shortcut.
Matthias Clasen [Sun, 15 Mar 2020 13:49:50 +0000 (09:49 -0400)]
shortcut: Add GtkShortcutTrigger
Triggers are meant to describe how to trigger a shortcut.
So far only a keyval + modifiers trigger exists.
Benjamin Otte [Sat, 4 Aug 2018 10:30:53 +0000 (12:30 +0200)]
window: Port bindings to use shortcuts
Benjamin Otte [Sat, 4 Aug 2018 10:27:30 +0000 (12:27 +0200)]
bindings: Add more variant types
Also marshal types that the code in gtkbindings.c doesn't use. These
will be used by gtk_widget_class_add_binding_signal().
Benjamin Otte [Sat, 4 Aug 2018 10:16:00 +0000 (12:16 +0200)]
widget: Add gtk_widget_class_add_shortcut()
This allows adding shortcuts as a replacement for keybindings.
Benjamin Otte [Sat, 4 Aug 2018 10:14:13 +0000 (12:14 +0200)]
gtk: Add GtkShortcut
This is the base class for what is about to take over all sorts of
keyboard shortcuts. The initial version barely deals with keybindings.
Benjamin Otte [Sat, 4 Aug 2018 09:01:32 +0000 (11:01 +0200)]
bindings: Split out function to invoke an action signal
We want to use that in shortcuts later.
Benjamin Otte [Mon, 30 Jul 2018 04:02:20 +0000 (06:02 +0200)]
shortcutcontroller: Introduce
This is a very barebones controller that currently does nothing but
activate the binding signals. Yay.
And because we have bindings on every widget (Yes, a GtkGrid has a
keybinding - 2 in fact), we need that controller everywhere.
Benjamin Otte [Tue, 31 Jul 2018 20:21:17 +0000 (22:21 +0200)]
bindings: Make gtk_binding_parse_signal() use GVariantBuilder
And because it's the last user of GtkBindingArg and
gtk_binding_entry_add_signall(), also remove those two.
Benjamin Otte [Tue, 31 Jul 2018 19:34:52 +0000 (21:34 +0200)]
bindings: Parse into GVariantBuilder directly
Avoids the indirection via GtkBindingArg
Benjamin Otte [Tue, 31 Jul 2018 19:32:34 +0000 (21:32 +0200)]
bindings: Add gtk_binding_entry_add_signal_variant()
This function is the replacement for
gtk_binding_entry_add_signall().
The GVariant will be demarshalled and passed to the action signal upon
binding activation. The same rules apply as used to apply for
GtkBindingArg, in that long, double and string args are now replaced by
"x", "d" and "s" variant types.
Benjamin Otte [Tue, 31 Jul 2018 18:09:03 +0000 (20:09 +0200)]
bindings: Replace GtkBindingArg arguments with GVariant
So far, this only replaces invocation, not yet parsing.
Matthias Clasen [Thu, 26 Mar 2020 02:30:54 +0000 (02:30 +0000)]
Merge branch 'matthiasc/for-master2' into 'master'
Matthiasc/for master2
See merge request GNOME/gtk!1568
Matthias Clasen [Thu, 26 Mar 2020 01:54:30 +0000 (01:54 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1567
Emmanuele Bassi [Thu, 6 Feb 2020 15:00:02 +0000 (15:00 +0000)]
passwordentry: Remove unused include
Emmanuele Bassi [Thu, 6 Feb 2020 14:59:31 +0000 (14:59 +0000)]
entry: Remove unused include
Matthias Clasen [Thu, 19 Mar 2020 13:46:53 +0000 (09:46 -0400)]
text view: Fix touch selection
We forgot to allocated that popover.
Matthias Clasen [Sun, 15 Mar 2020 03:42:38 +0000 (23:42 -0400)]
event controller focus: drop include
This header is not needed here, and it is going away.
Matthias Clasen [Sun, 22 Mar 2020 17:19:55 +0000 (13:19 -0400)]
flattenlistmodel: Give access to child models
Add an api to retrieve the model containing a given
item in a flatten listmodel. This is useful when the
individual items in the list don't have backpointers.
Matthias Clasen [Wed, 25 Mar 2020 21:48:38 +0000 (21:48 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1565
Matthias Clasen [Wed, 25 Mar 2020 21:34:56 +0000 (21:34 +0000)]
Merge branch 'wip/chergert/muxer-robustness-fix' into 'master'
muxer: force muxer dispoal as part of widget dispose
See merge request GNOME/gtk!1564
Matthias Clasen [Wed, 25 Mar 2020 20:01:06 +0000 (16:01 -0400)]
filechoosererrorstack: Fix object life-cycle
Unparent children in dispose, not in finalize.
Matthias Clasen [Wed, 25 Mar 2020 19:29:12 +0000 (15:29 -0400)]
testsuite: Set NO_AT_BRIDGE for gtk tests
The a11y stack insists on spewing hard to control warnings
that make our tests fail. So, no accessibility for gtk tests :(
Christian Hergert [Wed, 25 Mar 2020 21:02:59 +0000 (14:02 -0700)]
muxer: force muxer dispoal as part of widget dispose
We need to cleanup state here immediately so that we do not potentially
access the g_class private data after it been finalized. This ensures that
the borrowed reference is dropped by the muxer.
Timm Bäder [Wed, 25 Mar 2020 09:13:50 +0000 (09:13 +0000)]
Merge branch 'wip/sadiq/fix-leak' into 'master'
singleselection: Fix a memory leak
See merge request GNOME/gtk!1554
Timm Bäder [Sun, 22 Mar 2020 14:41:40 +0000 (15:41 +0100)]
magnifier: Don't try to use a null widget paintable
We destroy the paintable in dispose, which can be called multiple times.
Timm Bäder [Sun, 22 Mar 2020 14:41:21 +0000 (15:41 +0100)]
inspector: Fix child widget life cycle
unparent them in dispose
Timm Bäder [Tue, 24 Mar 2020 06:08:26 +0000 (06:08 +0000)]
Merge branch 'patch-2' into 'master'
gtkfilechoosernative: Remove duplicate "the" in the documentation
See merge request GNOME/gtk!1557
LingMan [Tue, 24 Mar 2020 04:58:13 +0000 (04:58 +0000)]
gtkfilechoosernative: Remove duplicate "the" in the documentation
Marc-Antoine Perennou [Sun, 22 Mar 2020 09:53:59 +0000 (10:53 +0100)]
testsuite/gtk/flattenlistmodel.c: fix build
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Mohammed Sadiq [Sun, 22 Mar 2020 05:12:01 +0000 (10:42 +0530)]
singleselection: Fix a memory leak
Matthias Clasen [Sun, 22 Mar 2020 00:38:56 +0000 (20:38 -0400)]
3.98.1
Matthias Clasen [Sun, 22 Mar 2020 01:06:35 +0000 (21:06 -0400)]
a11y: Don't re turn uninitialized memory
For some reason, this was now showing up in the
a11y tests as random image sizes in the about
dialog test.
Matthias Clasen [Sun, 22 Mar 2020 00:40:15 +0000 (00:40 +0000)]
Merge branch 'filechooser-popover-fixes' into 'master'
Filechooser popover fixes
See merge request GNOME/gtk!1553
Matthias Clasen [Sun, 22 Mar 2020 00:14:23 +0000 (20:14 -0400)]
file chooser: Fix the rename file popover
Make this popover work again by attaching it
to the file chooser itself.
Matthias Clasen [Sun, 22 Mar 2020 00:00:15 +0000 (20:00 -0400)]
filechooser: Fix the file list popover
Make this popover work again.
Matthias Clasen [Sat, 21 Mar 2020 23:32:08 +0000 (19:32 -0400)]
filechooser: Fix the new folder popover
We were listening for change notification on a
no-longer-existing property.
Matthias Clasen [Sat, 21 Mar 2020 22:28:57 +0000 (18:28 -0400)]
places sidebar: Fix the popovers
We need to check-resize the popovers.
Matthias Clasen [Sat, 21 Mar 2020 20:29:11 +0000 (20:29 +0000)]
Merge branch 'portal-dir-chooser' into 'master'
filechoosernativeportal: Allowing selecting folder(s)
See merge request GNOME/gtk!1552
Bastien Nocera [Fri, 13 Mar 2020 16:50:41 +0000 (17:50 +0100)]
filechoosernativeportal: Allowing selecting folder(s)
Use the "directory" portal option when asked to select folders.
Matthias Clasen [Sat, 21 Mar 2020 18:34:07 +0000 (18:34 +0000)]
Merge branch 'portal-chooser-fail' into 'master'
portal file chooser: Handle errors
Closes #2527
See merge request GNOME/gtk!1551
Matthias Clasen [Sat, 21 Mar 2020 17:06:10 +0000 (13:06 -0400)]
portal file chooser: Handle errors
Fall back to showing a local file chooser
if we get DBus errors from the portal.
Closes: #2527
Matthias Clasen [Sat, 21 Mar 2020 16:21:51 +0000 (16:21 +0000)]
Merge branch 'fix-inspector-picking' into 'master'
inspector: Make picking work again
Closes #2528
See merge request GNOME/gtk!1549
Matthias Clasen [Sat, 21 Mar 2020 14:47:29 +0000 (14:47 +0000)]
Merge branch 'fix-inspector-key' into 'master'
x11: Fix key event state translation
See merge request GNOME/gtk!1550
Matthias Clasen [Sat, 21 Mar 2020 14:25:06 +0000 (10:25 -0400)]
x11: Fix key event state translation
In the event refactoring, a bit was lost.
This makes Ctrl-Shift-i work again to open
the inspector.
Matthias Clasen [Sat, 21 Mar 2020 13:42:58 +0000 (09:42 -0400)]
inspector: Make picking work again
We used to either make the inspector see- and click-thru
or lower it, but sadly translucency broke after we
removed surface opacity, and lowering doesn't work
on Wayland. So just hide the inspector window while
we are picking.
Fixes: #2528
Matthias Clasen [Sat, 21 Mar 2020 05:56:22 +0000 (05:56 +0000)]
Merge branch 'new-text-attributes' into 'master'
New text attributes
See merge request GNOME/gtk!1547
Matthias Clasen [Sat, 21 Mar 2020 04:44:04 +0000 (00:44 -0400)]
Make overline support conditional
The ci image does not have Pango 1.45, so for the
time being, make the overline support conditional
on Pango being new enough.
Matthias Clasen [Sat, 21 Mar 2020 04:39:17 +0000 (00:39 -0400)]
Require pango 1.44.4
This lets use use the insert-hyphen attribute
unconditionally.
Matthias Clasen [Sat, 21 Mar 2020 03:51:36 +0000 (23:51 -0400)]
gtk-demo: Add hyphenation control to the markup demo
Matthias Clasen [Sat, 21 Mar 2020 03:51:08 +0000 (23:51 -0400)]
gtk-demo: Allow word breaking in the markup demo
We want to show hyphenation control here.
Matthias Clasen [Sat, 21 Mar 2020 03:56:41 +0000 (23:56 -0400)]
textbuffer: Parse overline and hyphenation attributes
When inserting Pango markup into a text buffer, translate
Pango attributes for overlines and hyphenation control
into the corresponding text tag properties.
Matthias Clasen [Sat, 21 Mar 2020 03:56:04 +0000 (23:56 -0400)]
textlayout: Handle new text tag properties
Translate tag properties for overlines and
hyphenation control into Pango attributes.
Matthias Clasen [Sat, 21 Mar 2020 03:54:39 +0000 (23:54 -0400)]
texttag: Support overline and hyphenation control
Add support for recently added Pango attributes
for overlines and hyphenation control. The new
properties of GtkTextTag are
overline, overline-rgba, allow-breaks, show-spaces
and insert-hyphens.
Carlos Garnacho [Fri, 20 Mar 2020 20:20:41 +0000 (20:20 +0000)]
Merge branch 'master_MR1290' into 'master'
Copy of !1290 for master
Closes #2365
See merge request GNOME/gtk!1546
Matthias Clasen [Fri, 20 Mar 2020 18:49:58 +0000 (18:49 +0000)]
Merge branch 'wip/chergert/fix-class-private-data-usage' into 'master'
Fix GtkWidgetClassPrivate data usage
See merge request GNOME/gtk!1545